
import Snake from "./snake.js";
import Food from "./food.js";

export default class Game{
  constructor(selector){
      this.map = document.querySelector(selector); 
      this.snake =  new Snake(selector);
      this.food =  new Food(selector);

      // 准备一个定时器  
      this.timer = 0;
      this.score = 0;  // 初始化一个积分
      this.level = 1; // 初始化一个级别  
  }

  //开始 
  start(){
        
        //让蛇移动  
        this.timer = setInterval(()=>{
            this.snake.move(); // 让蛇走一步  
             // 移动的过程中吃掉食物 
            if(this.snake.isEat( this.food.x,this.food.y)){
                //如果进来了说明吃到食物了

                // 每吃一口长一节  
                this.snake.createOne();
                // console.log(this.level);       
                // 分数级别+1
                this.changeScore();
                // 食物再随机出现 
                this.food.changePos();
            }

          

            // 判断是否越界了 
            if(this.snake.isDie()){
                clearInterval(this.timer);
                alert('GAME OVER')
            }

        },500-this.level*20);
       
  }


  // 暂停 
  pause(){
    clearInterval(this.timer);
  }

  changeScore(){
        this.score++;
        this.level++;
  }

  // 重新开始  
  restart(){
     // 刷新网页 
     window.location.reload();  // bom内容
  }

  // 修改方向 
  changeDir(dir){
        this.snake.direction = dir
  }
}